Fixed a bug in the audit code.
authormafetter@seana.research.intel-research.net <mafetter@seana.research.intel-research.net>
Tue, 8 Nov 2005 10:36:55 +0000 (11:36 +0100)
committermafetter@seana.research.intel-research.net <mafetter@seana.research.intel-research.net>
Tue, 8 Nov 2005 10:36:55 +0000 (11:36 +0100)
We don't hold a type refcount to the user's ptbase frame in
shadow refcounting mode.

xen/arch/x86/audit.c

index d14f1055609ccf59aa3fed6815873af7605c2a18..1eec298354fdb2b480c977dfd5ada3a569365d6d 100644 (file)
@@ -412,7 +412,7 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy)
         for_each_vcpu(d, v)
         {
             if ( pagetable_get_paddr(v->arch.guest_table) )
-                adjust(&frame_table[pagetable_get_pfn(v->arch.guest_table)], 1);
+                adjust(&frame_table[pagetable_get_pfn(v->arch.guest_table)], !shadow_mode_refcounts(d));
             if ( pagetable_get_paddr(v->arch.shadow_table) )
                 adjust(&frame_table[pagetable_get_pfn(v->arch.shadow_table)], 0);
             if ( v->arch.monitor_shadow_ref )